1. Field of the Invention
The present invention relates to an output synchronization method and apparatus for properly managing or controlling an amount of data in a buffer memory used for data transfer in an image processing system.
2. Description of the Related Art
An image processing system designed for the printing industry demanding high quality is a system for integrating and editing images such as characters and patterns. In the field of desktop publishing, especially, a page description language such as PostScript is enabling an advanced use of the system. For keeping pace with processing described with a description language used to process the images in an integrated fashion or a processing by a CPU (software), the image processing system for the printing industry must handle too large amount of data. For generating a block copy for printing, when code data alone is outputted, the data must be bit-mapped in units of a character and in advance in units of several rasters. When a bit-mapped image alone is outputted, the whole or part of the output image must be stored temporarily in a buffer memory and then sent to an output unit. For limiting the storage capacity of the buffer memory, the output unit is designed to stand by until the output image is stored in the buffer memory.
In the foregoing image processing system, generally, a data output speed on the side of a processing unit is different from a data processing speed on the side of the output unit. As shown in FIG. 1, when the moving speed vi of incoming data on the input side IN is different from the moving speed vo of outgoing data on the output side OUT, it is required to interpose a buffer memory 1 between the input and output sides and to manage the data on the output side for fear input of data to the output unit should be discontinued.
In the prior art, therefore, as shown in FIG. 2, a prediction section 2 predicts the moving speed vo on the output side OUT, and an addition section 3 located on the input side IN adds an extra amount of data. However, there are drawbacks that the prediction section 2 cannot predict the speed vo continually and measures, therefore, cannot be taken when the speed vo varies over time. Another system is, as shown in FIG. 3, such that an addition section 4 located on the input side IN adds data so as to make the buffer memory 1 full. However, since data is added irrespective of the value of the moving speed vo on the output side OUT, when the moving speed vo is small, a small amount of data must be added little by little at many times. This system poses a problem that it is annoying because the number of processing steps.